package com.itheima.service;

import com.itheima.pojo.ClassOption;
import com.itheima.pojo.PageResult;
import com.itheima.pojo.StuRequestParam;
import com.itheima.pojo.Student;

import java.util.List;
import java.util.Map;

public interface StuService {
    /**
     * 条件分页查询学生信息
     * */
    PageResult<Student> page(StuRequestParam stuRequestParam);

    /**
     * 根据id删除学生
     * */
    void deleteByIds(List<Integer> ids);

    /**
     * 添加学生
     * */
    void add(Student student);

    /**
     * 根据id查询学生
     * */
    Student selectById(Integer id);

    /**
     * 修改学生信息
     * */
    void update(Student student);

    /**
     * 修改学生违规次数和违规分数
     * */
    void updateViolation(Integer id, Integer score);

    /**
     * 获取学生学历以及对应人数
     * */
    List<Map<String, Object>> getStuDegreeReport();

    /**
     * 获取学生班级以及对应人数
     * */
    ClassOption getStudentCountData();
}
